#ifndef VEHICLEFRAME_H
#define VEHICLEFRAME_H

#include "point.h"

using namespace GeometryUtilities;

class VehicleFrame
{
public:
  VehicleFrame(const QString& name, const QString& graphic,
               const GeometryUtilities::Point& position, qreal direction,
               const Point &accel, const Point &vel,
               const Point &engForce, const Point &brkForce,
               const Point &fricForce, const Point &dragForce,
               const Point &mCurrentGoal);

  QString name() const;
  QString graphic() const;
  GeometryUtilities::Point position() const;
  qreal direction() const;
  Point acceleration() const;
  Point velocity() const;
  Point currentGoal() const;
  void forces(Point &engine, Point &brake, Point &friction, Point &drag);

protected:
  QString mName;
  QString mGraphic;
  GeometryUtilities::Point mPosition;
  qreal mDirection;
  Point mAcceleration;
  Point mVelocity;
  Point mEngineForce;
  Point mBrakeForce;
  Point mFrictionForce;
  Point mDragForce;
  Point mCurrentGoal;
};

#endif
